/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package util;

import java.util.prefs.Preferences;

/**
 * Author: José Iván Palmer García
 * Esta clase nos permitirá guardar y cargar los datos necesarios en las preferencias
 * del sistema.
 */
public class PreferencesPPM {
    // Atributos

    private Preferences pref = Preferences.userNodeForPackage(getClass());
    private String usuario, passwd, idioma, bd_usuario, bd_password, bd_direccion, bd_bd;
    private boolean recordar, sonidos, bajoRendimiento;

    /**
     * Constructor por defecto
     */
    public PreferencesPPM() {
        this.guardarPreferencias("admin", "1234", "Español", false, false, true, true, 
                false, "dai2", "dai2", "192.168.144.2", "qea595");
        this.cargarPreferencias();
    }

    /**
     * Nos cargará las preferencias del programa del sistema.
     */
    public void cargarPreferencias() {
        this.usuario = getPref().get("usuario", "");
        this.passwd = getPref().get("passwd", "");
        this.idioma = getPref().get("idioma", "");
        this.setRecordar(getPref().getBoolean("recordar", false));
        this.setRecordar(getPref().getBoolean("actualizar", false));
        this.setRecordar(getPref().getBoolean("inicio", true));
        this.setSonidos(getPref().getBoolean("sonidos", true));
        this.setBajoRendimiento(getPref().getBoolean("rendimiento", false));
        this.bd_usuario = getPref().get("bd_usuario", "");
        this.setBd_password(getPref().get("bd_password", ""));
        this.setBd_direccion(getPref().get("bd_direccion", ""));
        this.setBd_bd(getPref().get("bd_bd", ""));

    }

    /**
     * Nos guardará las preferencias del programa en el sistema.
     */
    public void guardarPreferencias(String usuario, String passwd, String idioma,
            boolean recordar, boolean actualizar, boolean inicio, boolean sonidos,
            boolean bajoRendimiento, String bd_usuario, String bd_password,
            String bd_direccion, String bd_bd) {
        getPref().put("usuario", Encrypt.encryptMD5(usuario));
        getPref().put("passwd", Encrypt.encryptMD5(passwd));
        getPref().put("idioma", idioma);
        getPref().putBoolean("recordar", recordar);
        getPref().putBoolean("actualizar", actualizar);
        getPref().putBoolean("inicio", inicio);
        getPref().putBoolean("sonidos", sonidos);
        getPref().putBoolean("rendimiento", bajoRendimiento);
        getPref().put("bd_usuario", bd_usuario);
        getPref().put("bd_password", bd_password);
        getPref().put("bd_direccion", bd_direccion);
        getPref().put("bd_bd", bd_bd);
    }

    public String getIdioma() {
        return idioma;
    }

    public String getPasswd() {
        return passwd;
    }

    public String getUsuario() {
        return usuario;
    }

    public boolean getRecordar() {
        return isRecordar();
    }

    /**
     * @return the pref
     */
    public Preferences getPref() {
        return pref;
    }

    /**
     * @return the bd_usuario
     */
    public String getBd_usuario() {
        return bd_usuario;
    }

    /**
     * @return the bd_password
     */
    public String getBd_password() {
        return bd_password;
    }

    /**
     * @param bd_password the bd_password to set
     */
    public void setBd_password(String bd_password) {
        this.bd_password = bd_password;
    }

    /**
     * @return the bd_direccion
     */
    public String getBd_direccion() {
        return bd_direccion;
    }

    /**
     * @param bd_direccion the bd_direccion to set
     */
    public void setBd_direccion(String bd_direccion) {
        this.bd_direccion = bd_direccion;
    }

    /**
     * @return the bd_bd
     */
    public String getBd_bd() {
        return bd_bd;
    }

    /**
     * @param bd_bd the bd_bd to set
     */
    public void setBd_bd(String bd_bd) {
        this.bd_bd = bd_bd;
    }

    /**
     * @return the recordar
     */
    public boolean isRecordar() {
        return recordar;
    }

    /**
     * @param recordar the recordar to set
     */
    public void setRecordar(boolean recordar) {
        this.recordar = recordar;
    }

    /**
     * @return the sonidos
     */
    public boolean isSonidos() {
        return sonidos;
    }

    /**
     * @param sonidos the sonidos to set
     */
    public void setSonidos(boolean sonidos) {
        this.sonidos = sonidos;
    }

    /**
     * @return the bajoRendimiento
     */
    public boolean isBajoRendimiento() {
        return bajoRendimiento;
    }

    /**
     * @param bajoRendimiento the bajoRendimiento to set
     */
    public void setBajoRendimiento(boolean bajoRendimiento) {
        this.bajoRendimiento = bajoRendimiento;
    }

    
}
